package com.aracky.system.service;

import com.aracky.common.vo.PageVO;
import com.aracky.system.model.entity.SysPost;
import com.aracky.system.model.entity.SysUserPost;
import com.aracky.system.model.request.PostDeptRequest;
import com.aracky.system.model.request.SysPostRequest;
import com.aracky.system.model.vo.PostDeptVO;
import com.aracky.system.model.vo.SysPostVO;
import com.aracky.system.model.vo.SysUserVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 岗位信息表 服务类
 * </p>
 *
 * @author zzp
 * @since 2022-07-14 11:22:57
 */
public interface SysPostService extends IService<SysPost> {
    /**
     * 查询岗位列表
     * @param sysPostRequest
     * @return
     */
    public PageVO<SysPostVO> getPostPage(SysPostRequest sysPostRequest);

    /**
     * 新增岗位信息
     * @param sysPost
     * @return
     */
    public int savePost(SysPost sysPost);
    /**
     * 修改岗位信息
     * @param sysPost
     * @return
     */
    public int updatePost(SysPost sysPost);
    /**
     * 修改岗位信息
     * @return
     */
    public int deletePost(Long postId);

    /**
     * 查询岗位详情
     * @param postId
     * @return
     */
    public SysPost getPostInfo(Long postId);

    /**
     * 岗位绑定用户
     * @param postId
     * @param userIds
     * @return
     */
    public void saveUserPost(Long postId,Long[] userIds);

    /**
     * 保存微信岗位信息
     * @param sysPostList
     */
    List<SysPost>  saveWxPost(List<SysPost> sysPostList);

    /**
     * 根据条件分页查询岗位部门
     * @param postDeptRequest
     * @return
     */
    PageVO<PostDeptVO> getPostDept(PostDeptRequest postDeptRequest);
}
